Para excluir o arquivo temporário o mais rápido possível, você pode escrever um wrapper, como:
#!/bin/sh
the-application "$1"
rm -f "$1"
substituindo the-application
pelo nome do executável real e peça ao Firefox para usar este wrapper em vez do aplicativo. Ou:
#!/bin/sh
the-application "$1"
case "$1" in
/tmp/*) rm -f "$1" ;;
esac
Este formulário é mais seguro caso futuras versões do Firefox não criem um novo arquivo para "file:" URL (você não quer que o arquivo seja removido neste caso).
Observe que alguns aplicativos retornam imediatamente e podem não funcionar corretamente se o arquivo for removido antes que o aplicativo seja encerrado. Nesse caso, não há muito que você possa fazer (pelo menos de uma maneira confiável).
Em relação à alternativa (para substituir um arquivo existente com o mesmo nome), isso pode gerar conflitos com outros aplicativos que usam /tmp
, com possíveis implicações de segurança. Esta não é uma boa ideia em geral.