ICSP conflict: What now?

Hey guys. I've only been working with arduino for a few months, and I'm not too familiar with the platform yet, so I beg your pardon if this is a stupid question.

My employer wants to develop a way to read a file from a USB device (http://www.circuitsathome.com/products-page/arduino-shields/usb-host-shield-2-0-for-arduino) and transfer that file to a storage medium and/or network location via the ethernet shield. I was doing some investigating, and found that both the USB shield and the ethernet shield rely on the ICSP pins. Is my only option in this case to connect two arduinos, one for the USB and one for the ethernet? That gets expensive, and my employer will be deploying a lot of these, so cost is important. Is there some simple way for me to hack the arduino or the USB/ethernet shields so that they all can use the ICSP or so one of them doesn't need it?

Thanks!

The ICSP pins are typically used for programming the device using SPI. It does look like the device shares the same SPI pins, which is fine for SCK/MOSI and MISO, but not OK for SS. It looks like the maker of this shield took that into consideration and gave you a way to change it:

http://www.circuitsathome.com/usb-host-shield-hardware-manual

MAX3421E interface pads are used to make shield modifications easier. Pads for SS and INT signals are routed to Arduino pins 10 and 9 via solder jumpers. In case pin is taken by other shield an re-routing is necessary, a trace is cut and corresponding pad is connected with another suitable Arduino I/O ping with a wire. To undo the operation, a wire is removed and jumper is closed. See interface modifications section for more information.