gracias a ambos. Con este código:
Código PHP:
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=<esto es lo que me falta>");
header("Content-Type: application/x-msdownload");
header("Content-Transfer-Encoding: binary");
readfile($file);
ahora logro que se mantenga como ruta de descarga mi fichero php, lo que no sé es cómo conseguir el nombre del fichero. Me puedo inventar uno pero lo que yo quiero es utilizar el original que pertenece a un link externo que tampoco es directamente el .exe, .zip, .rar, etc sino que a su vez es otro php.
Es decir $file sería por ejemplo:
http://www.dominioexterno.com/link.php?t=333 y al ir a esa página descarga "ejecutable.exe". Pues necesito recuperar ese nombre para mi "filename".
Cómo podría solucionar este nuevo problema?