A lot of physicians are very receptive to having interested students follow them around. Some may not be, but you'll never know if you don't ask. As mentioned by other posters, a good way of finding a doc is through family/friend connection. You can also try the premed club (such as alpha epsilon delta) at your school or your premed advising office. These sometimes have contact info for participating docs. Or you can just be brave (and courteous) and kindly ask a doc in a specialty you are interested in.
When you go, make sure to dress professionally. Ask the doc, just in case he wishes you wear scrubs instead of clinical dress. If you are seeing patients in-office, usually slacks and a button down shirt are good (or skirt for ladies). If you are in the OR or around the hospital, you will have to go to the locker room and change into hospital scrubs. You will also sign in if you are attending the OR.
As for what you will do, it will usually consist of watching and talking. The doc will explain the things he does and you can interact with the patient and learn how to interview. I highly doubt that as an undergrad you will be allowed to do anything that involves touching the patient. Remember, the doc is being nice enough to let you follow him around and whatever happens is on his watch. You are a liability while you are in his office or especially in the OR. Ask before you do/touch anything, and if you are in the OR do NOT touch anything blue. Use common sense and have fun. Shadowing is, in my opinion, a very rewarding experience and a hell of a lot better than simple volunteering. The potential to learn is much higher.
I found that almost all patients are very receptive to having a student present, even in fields that might surprise you. I shadowed an ob/gyn for over two years and had no problems. Just be mature and respectful, and have fun!