Is there a way to array an object along a few faces?
You can use the Shrinkwrap Modifier to the curve, but if you are planing to add details to a mesh you already have, I'll recommend to:


Tab enter edit mode, chose edge select, select the edges
shift+D duplicate it, then press P separate selected. 
With this you'll have made a new object copy of the selected edges.
tab to go back object mode, select the new object, and convert it
to a curve
AltC curve from mesh.
You can also use parent object, on the property panel select
verts on the parent object ,"the curve or the line you chose".