Depends which distro you're on. If you're on something which uses runlevels, you can bring the system to a runlevel where rc.local is not executed (assuming it's not set to run in all available runlevels). See the telinit and inittab manual pages for an explanation. On the system where I write this (Ubuntu) runlevels are not really used, but it looks like simply booting into single user would avoid running rc.local; this also appears to hold on a Debian system I'm looking at (which in turn seems to have copied this stuff from Mandrake, basically) and there's even a comment in /etc/rc.local which says it's executed in multiuser run levels ("only", you are tempted to add).