--- a/src/wofi.c	Mon Feb 22 23:53:57 2021 -0800
+++ b/src/wofi.c	Wed Aug 11 13:49:13 2021 -0300
@@ -881,12 +881,15 @@
 }

 void wofi_term_run(const char* cmd) {
+    char *shell = getenv("SHELL");
+    if (!shell) shell = "sh";
+
 	if(terminal != NULL) {
-		execlp(terminal, terminal, "-e", cmd, NULL);
+		execlp(terminal, terminal, "-e", shell, "-c", cmd, NULL);
 	}
 	size_t term_count = sizeof(terminals) / sizeof(char*);
 	for(size_t count = 0; count < term_count; ++count) {
-		execlp(terminals[count], terminals[count], "-e", cmd, NULL);
+		execlp(terminals[count], terminals[count], "-e", shell, "-c", cmd, NULL);
 	}
 	fprintf(stderr, "No terminal emulator found please set term in config or use --term\n");
 	exit(1);
