¿Cómo puedo ejecutar comandos externos en C / Linux sin usar system, popen, fork, exec?

Me gustaría saber si hay alguna buena manera de ejecutar un comando externo en un entorno Linux utilizando el lenguaje C sin usar system (), popen (), fork (), exec ()?

La razón por la que no puedo usar estas funciones es que mi aplicación principal ha agotado la mayoría de los recursos del sistema (es decir, la memoria) en mi placa incorporada. Si hago un fork, el tablero no podrá crear un duplicado de mi aplicación principal. Desde que leí en un libro, system () y popen () en realidad usan fork () debajo, así que tampoco puedo usarlos.

La única idea que tengo actualmente es crear un proceso antes de ejecutar mi aplicación principal y usar IPC (tubería o socket) para que el nuevo proceso sepa qué comandos externos necesita ejecutar con system () o popen () y devolver los resultados. a mi aplicación cuando se haga.

Respuestas a la pregunta(1)

Su respuesta a la pregunta