You dont want to create a clone every frame, use a mechanic which lets you define at which rate (in seconds) you want to spawn your bullets.
Input.GetButtonDown will only return true once as a result when you press the button down, after the frame it will always return false⦠Use Input.GetButton instead, which will return true as long as you hold your button down.