Index: uspace/app/terminal/main.c
===================================================================
--- uspace/app/terminal/main.c	(revision 8edec5347eb33f22b1815db3609ff69c0f618d63)
+++ uspace/app/terminal/main.c	(revision 24c452b35ddd0c461fd764673507864e5fc2fbcd)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2020 Jiri Svoboda
+ * Copyright (c) 2021 Jiri Svoboda
  * All rights reserved.
  *
@@ -45,4 +45,5 @@
 	printf("Syntax: %s [<options>]\n", NAME);
 	printf("\t-d <display-spec> Use the specified display\n");
+	printf("\t-c <command>      Run command instead of shell\n");
 	printf("\t-topleft]         Place window to the top-left corner of "
 	    "the screen\n");
@@ -52,4 +53,5 @@
 {
 	const char *display_spec = UI_DISPLAY_DEFAULT;
+	const char *command = "/app/bdsh";
 	terminal_t *terminal = NULL;
 	terminal_flags_t flags = 0;
@@ -68,4 +70,13 @@
 
 			display_spec = argv[i++];
+		} else if (str_cmp(argv[i], "-c") == 0) {
+			++i;
+			if (i >= argc) {
+				printf("Argument missing.\n");
+				print_syntax();
+				return 1;
+			}
+
+			command = argv[i++];
 		} else if (str_cmp(argv[i], "-topleft") == 0) {
 			++i;
@@ -83,5 +94,5 @@
 	}
 
-	rc = terminal_create(display_spec, 640, 480, flags, &terminal);
+	rc = terminal_create(display_spec, 640, 480, flags, command, &terminal);
 	if (rc != EOK)
 		return 1;
Index: uspace/app/terminal/terminal.c
===================================================================
--- uspace/app/terminal/terminal.c	(revision 8edec5347eb33f22b1815db3609ff69c0f618d63)
+++ uspace/app/terminal/terminal.c	(revision 24c452b35ddd0c461fd764673507864e5fc2fbcd)
@@ -888,5 +888,6 @@
 
 errno_t terminal_create(const char *display_spec, sysarg_t width,
-    sysarg_t height, terminal_flags_t flags, terminal_t **rterm)
+    sysarg_t height, terminal_flags_t flags, const char *command,
+    terminal_t **rterm)
 {
 	terminal_t *term;
@@ -1013,5 +1014,5 @@
 
 	list_append(&term->link, &terms);
-	getterm(vc, "/app/bdsh");
+	getterm(vc, command);
 
 	term->is_focused = true;
Index: uspace/app/terminal/terminal.h
===================================================================
--- uspace/app/terminal/terminal.h	(revision 8edec5347eb33f22b1815db3609ff69c0f618d63)
+++ uspace/app/terminal/terminal.h	(revision 24c452b35ddd0c461fd764673507864e5fc2fbcd)
@@ -94,5 +94,5 @@
 
 extern errno_t terminal_create(const char *, sysarg_t, sysarg_t,
-    terminal_flags_t, terminal_t **);
+    terminal_flags_t, const char *, terminal_t **);
 extern void terminal_destroy(terminal_t *);
 
