history é um comando interno do shell bash e sudo não funciona com os recursos internos do shell.
O que é um comando interno e o que não é?
Eu usei o comando which que "retorna os nomes de caminho dos arquivos (ou links) que seriam executados no ambiente" para confirmar que history não foi um comando externo (para bash).
Por exemplo, executando
$ which history
$
não retorna nada e o código de saída é 1 (um ou mais comandos especificados são inexistentes ou não executáveis) [Para ver o código de saída com echo $? ], durante a execução
$ which ls
/bin/ls
$
e o código de saída 0 (todos os comandos especificados são encontrados e executáveis).
Além disso, no bash você pode procurar ajuda para comandos incorporados com help (ou pesquisando a página man bash ). Por exemplo, digitando
$ help history
history: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps
arg [arg...]
Display or manipulate the history list.
...
mostra informações de ajuda do bash. A execução de help non-bash-command retorna algo semelhante a este:
$ help ls
bash: help: no help topics match 'ls'. Try 'help help' or 'man -k ls' or
'info ls'.
e o código de saída 1
Então, o que o sudo vem fazendo?
Você pode pesquisar seu próprio histórico para os comandos sudo que seu usuário executou (e não pulou para salvá-lo no histórico) com grep '^sudo' .bash_history ou history|less ou similar.
Ou, no Ubuntu o arquivo /var/log/auth.log mantém registros de qual sudo vem fazendo para todos os usuários, procura por "sudo" lá (outras distros podem usar o arquivo /var/log/secure ), ou poderia usar
sudo grep sudo /var/log/auth.log
ou execute sudo journalctl _COMM=sudo se você tiver systemd.
Veja a pergunta "Detalhes sobre comandos do sudo executados por todos usuário "no Unix & Linux para mais detalhes