I use the mega-isp solution mentioned above - the Arduino avrisp sketch is here
http://code.google.com/p/mega-isp/downloads/list
I do not use the shield they have - I made up a simple cable using two 6 pin dual-in-line header sockets to fit the programming ISP connector on your Arduino. (I did not have two dil sockets so I used standard single in line and superglued two 3 pin sockets together.
You then need a piece of ribbon cable or some wire.
Connect each pin on one socket the the corresponding one on the other, with the exception of pin 5 = Reset.
Connect one end of the cable to pin 5 - this is the end that will connect to the target AVR that you wish to program. Connect the other end of the pin 5 wire to a floating pin connector.
To use connect the cable to the arduino by placing over the ISP programming connector and connecting the floating lead to digital 10, connect the other end to the target ISP connector. You need to ensure that the pin 1's match up.
Program with avrdude using
avrdude -P com7 -p t2313 -c avrisp -b 19200 -U flash:w:fred.hex
where
com7 - the com port that the Arduino based programmer is on
t2313 - the type of AVR you wish to program (m328 for ATMega328).
fred.hex - the name of the hex file you wish to progam into the target.
I have used this to program Tiny2313 with no problems.
Note: The cable will carry 5v to power the target - if the target is already powered then do not connect pin 2 of the cable.
Check how much current your board needs. From memory, the ARM-USB-OCD can only supply a few 10's of milliamps. It is not uncommon for a dev board to use a couple of hundred. As a trouble shooting step, try getting openocd to communicate with the JTAG adapter without it connected to the board.
Best Answer
If I understand you correctly, you have an AVR board with USB on it and you want to use that to take the output of a programmer on your PC and toggle the JTAG pins on an ARM board. This can certainly be done but it is not as easy as taking USB packet data and redirecting it to the JTAG pins.
The schematic is simple enough. This one uses serial instead of USB but the concept is the same.
If you really want an adventure, you can read through the 244 page ARM Debug Interface v5 Architecture Specification and write code to implement all the necessary commands, registers, and state machines. But luckily there is an open source project that has already done all that called OpenOCD.
You can take their source and port it yourself but there are a few projects out there that have already done this to the AVR architecture and would probably be a better starting point.
Estick-JTAG
USBProg-JTAG
USBVLab-JTAG