No he leído nada en la descripción de su problema que le impida crear diferentes cuentas de usuario para las aplicaciones. Luego puede usar permisos de archivos triviales para evitar interferencias:
chown app1 /var/lib/myapps/app1
chmod 700 /var/lib/myapps/app1
sudo -u app1 /var/lib/myapps/app1/run.sh
editar
Si el evaluador se ejecuta como root
entonces simplemente puede iniciar las aplicaciones a través de sudo
.
Si el evaluador no se ejecuta como root
luego, las aplicaciones a las que llama (en la forma normal) se pueden instalar con el bit SUID (ID de usuario establecido) para que el proceso se ejecute como el usuario propietario del archivo binario y no como el usuario del proceso evaluador.
Dependiendo de su distribución y kernel, puede usar AppArmor o SELinux para contener sus aplicaciones. En general, diría que AppArmor es más conveniente de configurar y mantener. La wiki de Ubuntu tiene algunos artículos que explican los conceptos básicos.