Order is important regarding redirections. You cannot redirect a flow to somewhere undefined previously (in your case you are telling: redirect standard output to where error output is redirected, but you define the error output redirection only after)
Instead, please try:
Code:
ls -l sample1 sample2 sample3 >file2 2>&1
or
Code:
ls -l sample1 sample2 sample3 2>file2 >&2
or
Code:
ls -l sample1 sample2 sample3 &>file2