Интересно. Я думаю, что вам лучше всего использовать FD, который вы должны написать временный файл, а затем выполнить его с помощью обычного вызова exec.
Вы можете использовать mkstemp
, чтобы создать гарантированное уникальное имя файла. Затем прочитайте содержимое из вашего файлового дескриптора и поместите его во временный файл. Затем используйте имя, данное вам mkstemp в вызове exec.
Если вы по какой-то причине не хотите писать новый файл, то я думаю, что единственным вариантом для вас будет вручную проанализировать образ exe-файла, правильно загрузить его в память и затем вызвать его main () функция. Это дублирует многие функциональные возможности, которые уже существуют в ОС, и я не думаю, что вы хотите это делать. Это будет трудно сделать правильно, и, похоже, не стоит усилий.