ciao neroux, grazie mille per la risposta ma alla fine sono riuscita a risovere in un altro modo.
Posto il codice corretto, magari può servire a chi incontra lo stesso problema.
Ho trovato un post con problema identico al mio e questo è quello che si dice: posto il testo originale per chiarezza
Does your URL contain the & character? If so, your wget might be going into the background and shell_exec() might be returning right away. For example, if $url is
codice:
"http://www.example.com/?foo=1&bar=2"
you would need to make sure that it is single-quoted when passed on a command line:
codice:
shell_exec("wget '$url'");
Otherwise the shell would misinterpret the &.
Escaping command line parameters is a good idea in general. The most comprehensive way to do this is with escapeshellarg():
codice:
shell_exec("wget ".escapeshellarg($url));
Per cui alla fine io ho risolto così:
codice:
$escaped_path = "?db_host='.$db_host.'&db_user='.$db_user.'&db_pass='.$db_pass.'&db_name='.$db_name.'&site_host='.$site_host";
codice:
shell_exec('wget -O /dev/null http://'.$site_host.'/DB_backup/step_2_script_remoto.php'.escapeshellarg($escaped_path));
e funziona egregiamente! spero possa essere di aiuto a qualcuno 
Alessandra