POSIX na verdade requer a colocação de argumentos de opção antes de argumentos não-opcionais:
SYNOPSIS
rm [-fiRr] file...
O GNU / Linux não está em conformidade com o POSIX, mas o OS X sim. Se você definir POSIXLY_CORRECT, o GNU rm não permitirá colocar argumentos não opcionais antes dos argumentos da opção:
$ touch a;grm a -rf
$ touch a;POSIXLY_CORRECT= grm a -rf
grm: cannot remove ‘-rf’: No such file or directory
Se você quiser substituir o rm do OS X pelo GNU rm, execute brew install coreutils
e adicione /usr/local/opt/coreutils/libexec/gnubin
antes de outros diretórios no caminho.