То, что вы описываете, работает в Zsh так же, как и в Bash. Из руководства:
Простая команда - это последовательность необязательных назначений параметров, за которыми следуют слова, разделенные пробелами, с перемежением необязательных перенаправлений. Первое слово - это команда, которая должна быть выполнена, а остальные слова, если они есть, являются аргументами команды.
Если дано имя команды, присваивания параметров изменяют среду команды при ее выполнении. (...)
... и в Баше:
Когда выполняется простая команда, оболочка выполняет следующие расширения, назначения и перенаправления слева направо.
- Слова, помеченные синтаксическим анализатором как присвоения переменных (предшествующие имени команды) и перенаправления, сохраняются для последующей обработки.
...
Если имя команды не найдено, присваивание переменных влияет на текущую среду оболочки. В противном случае переменные добавляются в среду выполняемой команды и не влияют на текущую среду оболочки.