diff --git a/shell/ash.c b/shell/ash.c index 713898a9f..a0eb4e36f 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -3737,9 +3737,7 @@ tryexec(char *cmd, char **argv, char **envp) #ifdef CONFIG_FEATURE_SH_STANDALONE_SHELL if(find_applet_by_name(cmd) != NULL) { /* re-exec ourselves with the new arguments */ - execve("/proc/self/exe",argv,envp); - /* If proc isn't mounted, try hardcoded path to busybox binary*/ - execve("/bin/busybox",argv,envp); + execve(CONFIG_BUSYBOX_EXEC_PATH,argv,envp); /* If they called chroot or otherwise made the binary no longer * executable, fall through */ } diff --git a/shell/msh.c b/shell/msh.c index 62e6b6e01..bd4b8fdb2 100644 --- a/shell/msh.c +++ b/shell/msh.c @@ -3306,8 +3306,7 @@ char *c, **v, **envp; /* We have to exec here since we vforked. Running * run_applet_by_name() won't work and bad things * will happen. */ - execve("/proc/self/exe", v, envp); - execve("busybox", v, envp); + execve(CONFIG_BUSYBOX_EXEC_PATH, v, envp); } #endif