execute comando de shell (c)

I esta parte del código, indica a mi programa (que hace capturas de pantalla) que genere un comando y se cierre (cierre). Esto se puede usar para cambiar a un programa usando una tecla en mi programa, como para generar "gimp" u otro editor de imágenes que un usuario quisiera usarlo.

case SWITCH_TO:
    if( arg ) {
        char commandline[ 256 ];
        snprintf( commandline, sizeof (commandline), "%s &", arg );
        system( commandline );
        cmd->quit = 1;
    }
    break;

Por ejemplo usando:

program-command SWITCH_TO "gimp"

tendré mi sistema de llamadas de programa ("gimp &"), salga (cierre) y ejecute gimp.

program-command SWITCH_TO "fotoxx"

tendré mi sistema de llamadas de programa ("fotoxx &"), saldré (cerraré) y ejecutaré fotoxx.

Quiero que mi programa verifique si la "línea de comando" es válida (la aplicación se encuentra en $ PATH) y, si no, el comando "program-command SWITCH_TO" no se ejecuta y no cierra mi programa ("cmd-> quit = 1" haga esto, Cerrar programa)

Gracia

Respuestas a la pregunta(2)

Su respuesta a la pregunta