For people reading this, Marcio Ramos reached out to me on Discord and I helped him get this working. For a demo that works on Windows and Linux that you can test drive yourself, download my "GameLauncher.zip" GameMaker extension from the collection downloads page. There is no macOS example however because of platform specifics which only work on Windows and Linux, code which allows the game window to be modal/transient for the launcher window aka stay on top.
Mac is not able to do that due to platform lockdown. Apple prevents application windows owned by different processes from interacting with each other. I could technically implement the macOS version differently, where the game stays on top of all normal windows in the desktop, and not just the launcher, but that is not the expected behavior of this type of window interaction. Let me know in a new topic if you want a macOS version regardless of this limitation and I'll add it.
Edit:
For people reading the OP, the function execute_shell_simple() is provided by a different extension (Execute Shell Simple) by a different author (Yellow Afterlife). That function as far as I know at the time of writing this does not return a process ID and is not compatible with my xProcess extension at all. I apologize if the OP confuses anyone. I think the author of this topic just wrote a typo and that's why it says what it does. Use Execute Shell Simple by Yellow Afterlife if my extension is too advanced for you.
Note: Execute Shell Simple by Yellow Afterlife is Windows-only.