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.