Binaries could be added as resources and like others have stated extracted to a temporary location to be executed from there. This is similar to how self-extracting installers work.
However it is also possible to directly use them without saving them to a temporary location by writting a custom DLL loader.
I'm not sure but I think executables could be loaded the same way and started by forking. But I think the resulting process would be different compared to when it is started directly from the hard-drive.
I have seen source-code of applications that does exactly this, however it is non-trivial and requires knowledge of low-level stuff. If someone has good resources on how to achieve this, please add them.