--init-file
é processado primeiro e, em seguida, o conteúdo de ${HISTFILE:-$HOME/.bash_history}
é carregado normalmente. Se esse arquivo contiver $HISTSIZE
entradas, como geralmente será o caso, a entrada carregada por history -r tmp
será removida do início da lista do histórico e perdida.
As variantes a seguir funcionam para mim (na versão 4.1.2 do CentOS):
bash --init-file <(echo history -r temp; echo HISTFILE=/dev/null)
# in new shell history contains only the line(s) from temp
bash --init-file <(echo history -r temp; echo let HISTSIZE+=100)
# in new shell history contains the line(s) from temp THEN .bash_history