I think you'd better define an alias to rm, so whenever you execute rm, it won't be rm itself but your alias.
In this alias you can parse everything.
And this script can have all the parameters parsing that you want.
This alias should be put in .bashrc / .bash_profile, or even in /etc/profile if you want it to be applying to all user.
Following comments below, I added a wrapper that disables * interpreted as a list of all the files, and becomes just a string.
alias rm='set -f; /bin/sh /home/me/test/rm.sh'
The script could start like this:
if echo "$2" | grep '*' > /dev/null; then
echo "hi this is $var1 and $var2 and $var3"
$ rm a * b