Passthru permet quelque chose de très similaire tout en envoyant directement au navigateur les sorties du programme externe exécuté.
Cela peut être très pratique et permet d'éviter des manipulations de fichiers temporaires sur le serveur, lorsque l'utilisateur doit télécharger du contenu généré de façon dynamique.
Par exemple, je m'en sers souvent pour le téléchargement de sauvegardes de bases MySQL.
Avec passthru, quelques lignes comme celles ci dessous suffisent.
<?php
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename=sauvegarde.sql');
passthru('mysqldump -host MonServeur -u Utilisateur -pMotDePasse MaBaseDeDonnees');
?>