Thanks mimosa
I didn't know that the architecture of source and destination distros should be the same. In my case Salix is 32 bit and Arch is 64 bit. Is there any workaround for this situation?
Not that I can think of, though some ingenious person may have come up with a clever wheeze. Your best bet (depending what you want / need to do) may be a live USB, such as the recent Slackel release: viewtopic.php?f=45&t=7786&p=44822&hilit=slackel#p44822
The reason for the problem is that when you chroot into another system, you are still running the same kernel, so any binaries compiled for the architecture of the other system won't run if it is different - the instruction set is different. Scripts would be ok. But bash itself is a binary, and that's why you see that error.
You can't chroot into a 64bit system from a 32bit system. You're running a 32bit kernel and there's no way a 64bit binary would work. You can however do the opposite and chroot from a 64bit system to a 32bit system.
Thank you mimosa and gapan. Fortunately I can live without chroot. I just wanted to upgrade Arch while I do my works with Salix. I can't mark the topic Solved as I can't edit the first post anymore. Sorry for taking your time.