Você pode fazer isso de três maneiras diferentes, como eu vejo - provavelmente existem muitas outras maneiras de fazer isso também! O melhor método seria anexar uma ferramenta de auditoria às chamadas sysexec dos kernels para que ela não fosse rastreável pelo usuário, etc. As outras duas formas seriam simplesmente modificar o ambiente do shell para registrá-lo.
Em vez de mim (pegando o código / respostas do google) mostrando como fazer isso. Eu lhe darei links para sites que já explicaram isso detalhadamente. Espero que seja exatamente o que você precisa.
Btw, a maneira mais fácil é simplesmente incluir algo no seu bashrc / profile principal para afetar todos os usuários.
De qualquer forma, aqui estão os links para as soluções bashrc.
1) Solução Bashrc: Como registrar comandos executado por todos os usuários no Linux? 2) Solução Bashrc / trap: Bash: Histórico para o Syslog
A outra maneira (nível do kernel) seria examinar ferramentas ou auditoria. Existem muitos sites por aí que lhe dizem como configurar o registro de comandos via chamadas sysexec do kernel.