diff options
author | sabetts <sabetts> | 2005-01-15 19:48:36 +0000 |
---|---|---|
committer | sabetts <sabetts> | 2005-01-15 19:48:36 +0000 |
commit | 7232aa04aea8aa13c2973b637d3d0bb875065ff3 (patch) | |
tree | d3600938c41c2c7b664ebd31480f773e4a39bf01 /src | |
parent | 13ec63671c89b35868c9db2cefdf0068b687a79d (diff) | |
download | ratpoison-7232aa04aea8aa13c2973b637d3d0bb875065ff3.zip |
* src/actions.c (spawn): Prepend cmd with exec.
Diffstat (limited to 'src')
-rw-r--r-- | src/actions.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/actions.c b/src/actions.c index f80d227..d527782 100644 --- a/src/actions.c +++ b/src/actions.c @@ -2372,6 +2372,7 @@ cmd_exec (int interactive, struct cmdarg **args) int spawn(char *cmd) { + char *tmp; rp_child_info *child; int pid; @@ -2389,7 +2390,9 @@ spawn(char *cmd) #elif defined (HAVE_SETPGRP) setpgrp (0, 0); #endif - execl("/bin/sh", "sh", "-c", cmd, 0); + /* Prepend with exec to avoid excess /bin/sh's. */ + tmp = xsprintf ("exec %s", cmd); + execl("/bin/sh", "sh", "-c", tmp, 0); _exit(EXIT_FAILURE); } |