Entonces no tienes claros los conceptos de seguridad, pues una función por si misma no hace nada.
Como bien dices, si alguien introduce un script que pueda ejecutar lo que sea, bueno... ya sabes.
Creo que tu problema en este caso no es por el temor de usar exec(), sino por que alguien mas pueda ejecutar código indebido en tu servidor.
He ahí tu problema, ¿donde está el reto?