diff --git a/job.c b/job.c index a8d4ba9c..d8d87792 100644 --- a/job.c +++ b/job.c @@ -176,7 +176,8 @@ job_run(const char *cmd, int argc, char **argv, struct environ *e, closefrom(STDERR_FILENO + 1); if (cmd != NULL) { - setenv("SHELL", shell, 1); + if (flags & JOB_DEFAULTSHELL) + setenv("SHELL", shell, 1); execl(shell, argv0, "-c", cmd, (char *)NULL); fatal("execl failed"); } else {