exec comando código nativo de Android

Estoy tratando de iniciar una aplicación de Android desde el código nativo.

En adb shell podemos lanzar aplicaciones usando el comando "am".

Enlace

¿Cómo ejecutar (no solo instalar) una aplicación de Android usando el archivo .apk?

¿Hay alguna forma de invocar este comando "am" a través del código C?

Intenté la siguiente línea pero exec está devolviendo -1:

  ret = execl("/system/bin/am", "start", "-a", "android.intent.action.MAIN",
 "-n", "com.android.settings/.Settings", (char *)NULL);

¿Es correcto o no?

Respuestas a la pregunta(3)

Su respuesta a la pregunta