Un primo abbozzo potrebbero essere queste poche righe aggiunte poco prima di \begin{document}
`\AtBeginDocument{%
\renewcommand\bibliography[1]{\if@filesw\immediate\write\@auxout{\string\bibdata{#1}}\fi\immediate\closeout\@auxout\immediate\write18{bibtex #1}\@input@{\jobname.bbl}}
}`
Per un semplice file senza parti incluse, dovrebbe funzionare; a me è riuscito con un file scritto con la classe octavo e compilato con pdflatex. Veramente ho fatto tutto molto in fretta e non ho verificato ogni dettaglio, ma insomma la bibliografia è uscita anche nelle compilazioni successive alla prima, cioè dopo aver introdotto qualche correzione al testo. Si mi rendo conto che il file \@auxout viene chiuso probabilmente troppo presto per la registrazione completa di tutto quello che serve, ma avendo la bibliografia alla fine del documento non sembrano esserci inconvenienti.
Tutto preso con le molle, perché bisgnerebbe che facessi un’analisi dettagliata di ciò che il programma esegue passo passo; ma almeno c’è un primo risultato — magari da cestinare, ma c’è.