build: bundle-libraries.sh: do not override argv[0] in inner exec calls

Only mangle argv[0] of the first executed process and leave the argument
vector of subsequent invocations as-is to allow child programs to properly
discover resources relative to their binary locations.

Fixes "cc1" discovery when executing the host gcc through the bundled
"ccache" executable.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
openwrt-18.06
Jo-Philipp Wich 2017-07-24 13:33:33 +02:00
parent 22a74ed310
commit 9e64874fb2
1 changed files with 3 additions and 1 deletions

View File

@ -79,8 +79,10 @@ _runas_so() {
int mangle_arg0(int argc, char **argv, char **env) {
char *arg0 = getenv("RUNAS_ARG0");
if (arg0)
if (arg0) {
argv[0] = arg0;
unsetenv("RUNAS_ARG0");
}
return 0;
}