IIRC this isn't "changing" the MAC address, as a reset of the software will once again begin broadcasting the original. Rather, it is spoofing, i.e. forcing the software to lie about the MAC address that was built into the hardware.
Unix init scripts for networking can do MAC changes for you every time an interface goes up.