zsh is generally wonderful, and it's sufficiently like bash/POSIX sh that it works. However, it uses 1-indexed arrays, whereas bash uses 0-indexed arrays. This totally caught me out.