On Tue, Apr 17, 2012 at 09:03:21AM +0200, Johannes Sixt wrote: > diff --git a/run-command.c b/run-command.c > index 2af3e0f..e4edede 100644 > --- a/run-command.c > +++ b/run-command.c > @@ -94,7 +94,11 @@ static const char **prepare_shell_cmd(const char **argv) > die("BUG: shell command is empty"); > > if (strcspn(argv[0], "|&;<>()$`\\\"' \t\n*?[#~=%") != strlen(argv[0])) { > +#ifndef WIN32 > nargv[nargc++] = SHELL_PATH; > +#else > + nargv[nargc++] = "sh"; > +#endif > nargv[nargc++] = "-c"; > > if (argc < 2) It sounds like the real problem is not the use of a configurable shell, but rather the use of an absolute path. Should you maybe try to pass the basename of SHELL_PATH? Or maybe that is not even worth worrying about, as somebody on Windows is not going to ever set SHELL_PATH, since it is not like they are working around a non-POSIX "sh" included with the operating system (which is why people on Solaris typically set SHELL_PATH). -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html