In response to feedback I received in another thread: https://lists.gnu.org/r/coreutils/2023-03/msg00002.html
I am prepared to write an updated patch if necessary. Addressing the following concerns: - Bash already supports setting argv0 It does and it almost worked. Unfortunately it introduces new variables, negating the use of env -i. Although I managed to unset the PWD variable, the SHLVL variable still persists. In the following example, program prints all arguments and environment variables: $ env -i bash -c 'exec -a program ./program' program PWD=/data/data/com.termux/files/home/dev/coreutils SHLVL=0 $ env -i bash -c 'unset SHLVL; unset PWD; exec -a program ./program' program SHLVL=0 I am not sure if this would be better addressed in bash or env. Please let me know if I should submit a patch to bash instead. - Using --title instead of --name I chose --name in order to be consistent with bash's functionality. exec [-a name] [command [arguments]] If -a is supplied, the shell passes name as the zeroth argument to the executed command. I am prepared to change the option if necessary. I also suggest -a and --argv0, the former being consistent with bash. - NULL argv[0] I would be glad to add support for this. I feel like an additional --null-argv0 option is the best implementation. Given that program arguments can be arbitrary NUL-terminated strings, if env were to parse a literal "NULL" as a directive to set argv[0] to 0, it would preclude the user from setting argv[0] to "NULL". An additional option would explicitly denote the special value. - zsh supports ARGV0 I did find that possible solution in my searches. However, it suffers from the same problem as the bash solution: variables still persist despite env -i, many more than bash, even after being unset: $ env -i zsh -c 'unset _ HOME PWD LOGNAME SHLVL OLDPWD; ARGV0=program ./program' program SHLVL=0 _=/data/data/com.termux/files/home/dev/coreutils/./program For these reasons I think this would be a good feature for env. I apologize for any mistakes, I'm still getting used to using mailing lists. Thank you for your consideration, Matheus Moreira