From 289397289982b2e383dbf1bb9627a413b12d3239 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Tue, 17 Oct 2017 17:15:13 +0200 Subject: use /bin/sh as $0 for shell scripts when using -s Using - as $0 results in undefined behavior, and actually makes FreeBSD /bin/sh ignore the - and use the next argument as script name. --- xe.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'xe.c') diff --git a/xe.c b/xe.c index 000c0b3..100d196 100644 --- a/xe.c +++ b/xe.c @@ -700,7 +700,7 @@ main(int argc, char *argv[], char *envp[]) pusharg("/bin/sh"); pusharg("-c"); pusharg(sflag); - pusharg("-"); + pusharg("/bin/sh"); } if (matched && @@ -734,7 +734,7 @@ main(int argc, char *argv[], char *envp[]) pusharg("/bin/sh"); pusharg("-c"); pusharg(sflag); - pusharg("-"); + pusharg("/bin/sh"); } else if (optind >= cmdend) { pusharg("printf"); pusharg("%s\\n"); -- cgit 1.4.1