EDIT: These instructions apply for VirtualDub v1.8.11 and VLC v1.1.9.
VirtualDub is definitely the correct choice of program for AVI files. I'll walk you through it.
Run VirtualDub by going to the folder where you saved it and running VirtualDub.exe.
Head to File > Open Video File, and select the AVI file from the file browser, and select Open.
Next, go to the Video drop-down menu, and select Direct Stream Copy (we don't want to re-encode what will be an already pretty poor quality stream).
Next, go to the Audio drop-down menu, and select Direct Stream Copy (with the same rationale as above).
Next, go to Audio > Interleaving. This will bring up a dialog box. Note the box with the label Delay audio track by...
Change the value in this box. If you want to get a good idea of what value to change it to, either keep changing it in VirtualDub and checking the result, or do it in VLC. You can change the audio timings on the fly in VLC by playing the video and then hitting J to reduce the audio offset, and K to increase it. Note the value where they appear to sync up, and then use that in VirtualDub. If you can't get them close enough, you can get more finely-grained control by, still in VLC, going to Tools > Track Synchronization. You can then adjust Advance of audio over video until you sync them up, and then use that value in VirtualDub.
Once done, go to File > Save as AVI, and enter the name you want for the file.