? é especial (sendo usado pelo glob e pela expansão do histórico, veja zshexpn(1) ), e portanto requer escape, mas de outra forma pode ser usado como um alias, embora provavelmente não deva ser, dado que é especial.
% alias \?='echo hi'
% ?
hi