Copperhead (The Starbuck Chronicles, Book 2) by Bernard Cornwell
The second book in Bernard Cornwell's bestselling series on the American Civil War.
Nathanial Starbuck is a Copperhead: a northerner fighting for the rebel South in America's Civil War.
Expelled from the Faulconer Legion, Starbuck must travel a hard road before he can rejoin his comrades. He must join the shadowy war of betrayal and espionage, where nothing is certain and no one can be trusted. Starbuck's journey will take him through the savage prisons of Richmond, across the blood-sodden battlefields of Virginia, and into the deadly high command of the northern army.