To answer the main question, you can use an Arduino to only provide the step/direction pulses to a typical stepper motor driver, although you may need a buffer board to boost the switching voltages (can be done on some basic stripboard).
The CNC shields typically use drivers with limited current and voltage limitations (voltage is needed for speed, and for any decent machine, you'll likely be best with at least 36V)

I'm personally not a fan of arduino based controllers, but they do do the job. Although not likely at the quickest speed.

Ultimately you need something to generate step/dir signals, which are then fed into the stepper motor drivers.
How that's achieved depends on what exactly you're planning on using.