user13452: I am trying to pass the input from one pin to another pin as output. Effectively I want to create a blind passthrough. The end goal is to connect two Arduinos and a series of test points together like the diagram below. I want Arduino B to shuffle which test points are connected to which pins on Arduino A on startup.
+-----------+       +-----------+     +-------------+
|           |       |           |     |             |
| Arduino A <-------> Arduino B <-----> Test Points |
|           |       |           |     |             |
+-----------+       +-----------+     +-------------+

I figure one way to do this is to poll the input pins in the loop() and then change the output pins accordingly but I would prefer if the voltage changes just passed right through without it affecting timing.
Update:
For some clarification:

All signaling is digital
I'm looking to "route" around 10-12 test points to Arduino A ideally but 6 at a minimum


user13461: You can reduce latency by using interrupts to detect input changes instead of polling in loop(), if you're dead set on using an Arduino instead of adding switching hardware (as suggested in other answers).
See attachInterrupt() for details, and beware that different Arduino models differ greatly in how many pins support interrupts.
Alternately, you can speed up the polling approach by using direct port access (e.g., PORTB and PORTD registers) instead of the simpler Arduino read and write functions.  This will bypass some wrapper code and also let you manipulate multiple pins in parallel.

user368: No Arduino is capable of doing this. You need to be looking at a crossbar/crosspoint/matrix switch IC instead.

user10794: You could use an analog multiplexer such as the 74HC4051 (8 channels) or the 74HC4067 (16 channels) like this:

Arduino B could alter the multiplex selector (A/B/C) pins to route the signal from the test points to a specific pin on Arduino A. If you are wanting to see the result of the signal on a different pin then a second multiplexer would be required (ie. one to send data to a pin, the second to see the result on a different pin).
I have a post about the 74HC4051 multiplexer / demultiplexer which gives more details about using it.
When I tested it I found only about a 5 ns delay in timing:

Ignacio's answer about a crossbar switch sounds like a more elaborate form of multiplexer. Personally I haven't used one of them.

13452: <p>I am trying to pass the input from one pin to another pin as output. Effectively I want to create a blind passthrough. The end goal is to connect two Arduinos and a series of test points together like the diagram below. I want Arduino B to shuffle which test points are connected to which pins on Arduino A on startup.</p>

<pre><code>+-----------+       +-----------+     +-------------+
|           |       |           |     |             |
| Arduino A &lt;-------&gt; Arduino B &lt;-----&gt; Test Points |
|           |       |           |     |             |
+-----------+       +-----------+     +-------------+
</code></pre>

<p>I figure one way to do this is to poll the input pins in the loop() and then change the output pins accordingly but I would prefer if the voltage changes just passed right through without it affecting timing.</p>

<p><strong>Update:</strong>
For some clarification:</p>

<ul>
<li>All signaling is digital</li>
<li>I'm looking to "route" around 10-12 test points to Arduino A ideally but 6 at a minimum</li>
</ul>
 13461: <p>You can reduce latency by using interrupts to detect input changes instead of polling in loop(), if you're dead set on using an Arduino instead of adding switching hardware (as suggested in other answers).</p>

<p>See <a href="http://www.arduino.cc/en/Reference/AttachInterrupt" rel="nofollow">attachInterrupt()</a> for details, and beware that different Arduino models differ greatly in how many pins support interrupts.</p>

<p>Alternately, you can speed up the polling approach by using <a href="http://www.arduino.cc/en/Reference/PortManipulation" rel="nofollow">direct port access</a> (e.g., PORTB and PORTD registers) instead of the simpler Arduino read and write functions.  This will bypass some wrapper code and also let you manipulate multiple pins in parallel.</p>
 368: <p>No Arduino is capable of doing this. You need to be looking at a <a href="https://en.wikipedia.org/wiki/Crossbar_switch" rel="nofollow">crossbar/crosspoint/matrix switch</a> IC instead.</p>
 10794: <p>You could use an analog multiplexer such as the 74HC4051 (8 channels) or the 74HC4067 (16 channels) like this:</p>

<p><a href="https://i.stack.imgur.com/FmwtJ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/FmwtJ.png" alt="74HC4051 multiplexer"></a></p>

<p>Arduino B could alter the multiplex selector (A/B/C) pins to route the signal from the test points to a specific pin on Arduino A. If you are wanting to see the result of the signal on a different pin then a second multiplexer would be required (ie. one to send data to a pin, the second to see the result on a different pin).</p>

<p>I have a post about the <a href="http://www.gammon.com.au/forum/?id=11976" rel="nofollow noreferrer">74HC4051 multiplexer / demultiplexer</a> which gives more details about using it.</p>

<p>When I tested it I found only about a 5 ns delay in timing:</p>

<p><a href="https://i.stack.imgur.com/CShlX.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/CShlX.png" alt="Multiplexer timing"></a></p>

<p>Ignacio's answer about a crossbar switch sounds like a more elaborate form of multiplexer. Personally I haven't used one of them.</p>
