diff --git a/shell/tsu.sh b/shell/tsu.sh index 8b349a9..57fa6f5 100755 --- a/shell/tsu.sh +++ b/shell/tsu.sh @@ -279,10 +279,10 @@ unset LD_PRELOAD ## Build the environment [[ -z "$_TSU_DEBUG" ]] || set +x -ENV_BUILT="" +ENV_BUILT=() for key in "${!EXP_ENV[@]}"; do - ENV_BUILT="$ENV_BUILT $key=${EXP_ENV[$key]} " + ENV_BUILT+=("$key=${EXP_ENV[$key]}") done [[ -z "$_TSU_DEBUG" ]] || set -x @@ -315,12 +315,13 @@ else # Let's use the system toybox/toolbox for now if [[ -n "$ENVIRONMENT_PRESERVE" ]]; then su_args+=("--preserve-environment") - su_cmdline="PATH=$ANDROID_SYSPATHS:$PATH $ENV_BUILT $STARTUP_SCRIPT " + path_for_system_env="PATH=$ANDROID_SYSPATHS:$PATH" else - su_cmdline="PATH=$ANDROID_SYSPATHS env -i $ENV_BUILT $STARTUP_SCRIPT" + path_for_system_env="PATH=$ANDROID_SYSPATHS" + env_cmd="-i" fi - su_args+=("-c") - exec "${su_args[@]}" "${su_cmdline}" + su_args+=("-ps") + exec env "$path_for_system_env" env "$env_cmd" "${ENV_BUILT[@]}" "${su_args[@]}" "$STARTUP_SCRIPT" fi done fi