Eu encontrei uma solução alternativa:
$ open -a /Applications/MyApp.app --args <path_to_file>
Isso força open
a passar o argumento inalterado. Mas há uma pegadinha - se você passar um caminho relativo como um argumento, então o caminho é relativo a / Applications, não ao seu diretório atual, o que é meio chato. Mas é a melhor solução que eu criei.