Intenta ver el error que esté arrojando exec() ..
www.php.net/exec
Tienes el 2º y 3er parámetro para ver la salida de la ejecución de ese comando (el error que pueda dar) y de la própia ejecución de la función en el 3er parámetro.
Ten presente que PHP según el usuario que use (en modo CGI) o del servidor HTTP (si PHP corre en modo ISAPI) debe tener permisos de ejecución.
Por seguridad lee el tema sobre "Safe Mode" de PHP y los exec_dir y directivas afines ..
http://www.php.net/manual/en/features.safe-mode.php
(lee los comentarios de los usuarios que hablan sobre los permisos de ejecución).
Un saludo,