How do I mask "forbidden" chars in passwords in the mount command?

Solution 1:

Use URL encoding to protect the wonky characters in the password. Essentially each character (or byte of UTF-8) can be encoded as a % followed by two hex digits specifying the encoded byte. In your example, \ -> %5C and @ -> %40:

mount -t afp afp://adminname:aaaaa%5C%4011111@ServerIPAddress/ShareName /Volumes/TimeMachine

This worked in my test.