Acho melhor você definir um alias para rm, então sempre que você executar rm, não será rm em si, mas seu alias.
Neste alias você pode analisar tudo.
alias rm='/my/path/myrm.sh'
E esse script pode ter todos os parâmetros que você deseja analisar.
Esse alias deve ser colocado em .bashrc / .bash_profile, ou até mesmo em / etc / profile, se você quiser que ele seja aplicado a todos os usuários.
Editar Após os comentários abaixo, adicionei um wrapper que desativa * interpretado como uma lista de todos os arquivos e se torna apenas uma string.
alias rm='set -f; /bin/sh /home/me/test/rm.sh'
O script pode começar assim:
#!/bin/sh
if echo "$2" | grep '*' > /dev/null; then
echo "asterisk!"
else
echo "hi this is $var1 and $var2 and $var3"
fi
Teste:
$ rm a * b
asterisk!