you are talking about bit banging SPI
shiftOut() is bit banging, pretty much exactly what you are looking for, see official Arduino reference for details
but please consider that SPI is designed to be used for multiple devices, so you shouldn't need to have a separate SPI bus for separate devices, unless you absolutely need parallel data transfer rates