Wykonaj proces z pamięci w innym procesie?

Chciałbym mieć mały program do ładowania aplikacji, który odbiera inne pliki aplikacji binarnych przez TCP z zewnętrznego serwera i uruchamia je.

Mogę to zrobić, zapisując przesłany plik na dysk twardy i używając wywołania system (), aby go uruchomić. Zastanawiam się jednak, czy możliwe byłoby uruchomienie nowej aplikacji z pamięci bez dotykania dysku twardego.

Stan aplikacji ładującej nie ma znaczenia po załadowaniu nowej aplikacji. Wolę trzymać się C, ale rozwiązania C ++ są również mile widziane. Chciałbym także trzymać się standardowych funkcji Linuksa C i nie używać żadnych zewnętrznych bibliotek, jeśli to możliwe.