Hay algunas sugerencias:
1. Obligatorio usar la ruta absoluta para mysqldump.
2. Intente usar --opt (opción predeterminada para mysqldump). Puede consultar http ://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
3.Para la opción, si usa la forma abreviada, no es necesario tener (--). por ejemplo:--p. Use (--) cuando use la forma completa. ej.:—contraseña. Así que use '-p' en lugar de '--p' (también se aplica para otras opciones).
4. intente 'shell_exec' o 'system' si mysqldump no funciona en 'exec'.
5. intente evitar tener espacio entre la opción y la variable. Por ejemplo:-p$dbpass