Offhand, I don't know if there is some simple gizmo you can add to the mix. I'd have to research that. But I can give you the software approach:
You need a USB driver with a Mass Storage Device profile. On an arduino, you would have to write something to support that.
Fortunately, there is Dean Camera's LUFA library
, which is an excellent place to get started. I haven't used it for a mass-storage device, but I have used it for a serial client device. Very easy to work with.
The issue for you is going to be, what kind of arduino are you using?
On a Uno, the USB controller is not on the ATMega 328 chip - it's on the ATtiny co-processor. LUFA supports that chip, but you can't program it like am Arduino - you would have to use native tools: an IDE like Atmel Studio 6, or just the plain avr-gcc command-line tools. You need a ISP programmer like the USBtinyISP to load the code onto it. Once that's loaded, the ATmega would still have to communicate with the ATtiny via serial, since that's their only connection. So you would need some sort of comm protocol between the two.
On a Leonardo or Micro other ATmega32U4-based board, the USB controller is in the 32U4, and you can access it directly from a normal sketch. Pretty easy to see that this would be much
easier to do on a 32U4.
Potentially, you could add something like an Arduino Micro as a dedicated USB Mass Storage client. You could either come up with some sort of comm protocol between the 'main' arduino and the Micro, or you could potentially put the Micro on the same SPI bus as the SD card. You'd have to have some sort of arbitration scheme so that both MCUs don't try to use the bus at the same time (I don't know if there would be any electrical issues with two bus masters - that would be something else to research).