nohup is an external program. How can it change the action of SIGHUP by a child process of a shell process to be "ignore"? (in terms of some arguments when the child process invokes
execve() on the program which follows nohup?)
Does nohup apply only to a child process of a shell process, but not to a child process of a non-shell process?