A linha
if [ 2 > 1 ]; then
faz com que o shell tente abrir um arquivo chamado 1
para gravação. Leia a seção REDIRECTION
na página do manual do bash para obter uma explicação. Seu user1
aparentemente tem permissão para gravar nesse arquivo e user2
não é.
Você provavelmente estava pensando nisso:
if [ 2 -gt 1 ]; then
Que testa se 2 é maior que 1, o que obviamente é verdade, exceto para valores muito grandes de 1.