Terminal: command overridden via shell script in /usr/local/bin not executed unless called directly
Order of execution is based on PATH order - locations put first are searched first, if match is found it is executed, HOWEVER, programs mapping are cached so you need to refresh the cache before changes will take place (if you've used that app before). See http://www.thegeekstuff.com/2010/08/bash-shell-builtin-commands/ (point 3.):


  hash command maintains a hash table, which has the used command’s path
  names. When you execute a command, it searches for a command in the
  variable $PATH. But if the command is available in the hash table, it
  picks up from there and executes it. Hash table maintains the number
  of hits encountered for each commands used so far in that shell.


and


  You can delete a particular command from a hash table using -d option,
  and -r option to reset the complete hash table.


Sidenote: maybe try to create alias instead of wrapper?