Two Spartan Lasers on Halo
From Halopedia, the Halo wiki
This Glitch only works on Halo 3.
On the level Halo, it is possible to wield two Spartan Lasers at once (not to be confused with dual wielding). First, proceed up the tower with a Rocket Launcher. When you reach the top, do not kill all the Flood or Johnson will come down and the glitch will not work. Blast Johnson off the cliff with the Rocket Launcher or use a Plasma Grenade. Once he falls off the cliff, get the Spartan Laser he was holding. When he gets up, he will be wielding the weapon you exchanged for the laser. Kill Johnson again; When he gets up, he will magically hold a new Spartan Laser. Kill him only with meleeing. Then, use your non-laser weapon to swap for it. To check, repeatedly press the Y button to check your weapons. There is a fun animation when you switch between the two Spartan Lasers.
Unknown Laser
There is also another way to obtain two Spartan Lasers, but it is more complicated and requires you to complete Cortana. First, on Normal difficulty (or higher), start on the beginning of the level. Find Cortana, and leave that room. Then, while in the room where you destroy the generators, try to jump on a ledge jutting out that is about middle height. After a few tries, (grenade jump and Cowbell Skull possibly needed) you should be on the slanted ledge. When you're done, look around the slanted ledge, and eventually you should find a pile of bones near the edge. Among those bones is the Unknown Skull, take with you until the end of the level, and in the level Halo, you should have a Spartan Laser as the first weapon, and whatever weapon you had backpacked in the previous level, Cortana. You could kill Johnson, or you could just take the Spartan Laser he gives you in the battle against 343 Guilty Spark.
Control Room Laser
Another way is to first kill Johnson before he gets to the door of the Control Room on Halo (hit him three times non-stop to do this). Take his Laser by swapping weapons. During the battle in the Control Room against 343 Guilty Spark, at the part when he gives you his Spartan Laser, swap it with another weapon and, you have two Spartan Lasers. However, be careful; the second Spartan Laser does not have infinite ammo and usually has only a few ammo points remaining. If you kill Johnson in the corridor leading up to the control room it is possible to get him to fall down a crack in the floor. If you do this just before the cutscene you can get a laser with more ammo in it.
Trivia
Interestingly, due to the fact that weapons left outside the Control Room's first entrance door remain there, it is possible to leave a Spartan Laser behind to collect after the battle with 343 Guilty Spark and use it during the latter part of Halo.