macOS tells you that your bundle executable is the thing that should run, and when it terminates your application terminates. you're not supposed to fork() or exec() or anything to get to the "actual" app, just run.
of course it's "just UNIX", you can kinda do whatever you want as long as some program is running, right? you can ignore whatever structure the OS *says* is impossd upon you.
except then stuff like this happens
https://github.com/caldwell/build-emacs/issues/157#issuecomment-6018781043