rather than "sh".
+2009-07-22 Nicolas François <nicolas.francois@centraliens.net>
+
+ * libmisc/shell.c, src/su.c: Execute the scripts with "sh -"
+ rather than "sh".
+
2009-07-22 Nicolas François <nicolas.francois@centraliens.net>
* configure.in, libmisc/shell.c, libmisc/setupenv.c, src/newgrp.c,
* Assume this is a shell script (with no shebang).
* Interpret it with /bin/sh
*/
- execle (SHELL, "sh", file, (char *)0, envp);
+ execle (SHELL, "sh", "-", file, (char *)0, envp);
err = errno;
}
while (NULL != args[n_args]) {
n_args++;
}
- targs = (char **) xmalloc ((n_args + 2) * sizeof (args[0]));
+ targs = (char **) xmalloc ((n_args + 3) * sizeof (args[0]));
targs[0] = "sh";
- targs[1] = xstrdup (shellstr);
- targs[n_args+1] = NULL;
+ targs[1] = "-";
+ targs[2] = xstrdup (shellstr);
+ targs[n_args+2] = NULL;
while (1 != n_args) {
- targs[n_args] = args[n_args - 1];
+ targs[n_args+1] = args[n_args - 1];
n_args--;
}