Ci sono alcuni suggerimenti:
1. Obbligatorio utilizzare il percorso assoluto per mysqldump.
2. Prova a usare --opt (opzione predefinita per mysqldump). Può fare riferimento a http ://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
3.Per l'opzione, se si utilizza la forma abbreviata, non è necessario disporre di (--). es:--p. Utilizzare (--) quando si utilizza il modulo completo. es:--password. Quindi usa '-p' invece di '--p' (applicato anche per altre opzioni).
4. prova 'shell_exec' o 'system' se mysqldump non funziona su 'exec'.
5. prova ad evitare di avere spazio tra opzione e variabile. Ad esempio:-p$dbpass