Here's some ways. Using:

    l = {1+2*s,2+3*s,4+1*s};
    slist = {1, 2, 3};

The answer closest to what you asked is

    {1 + 2*s, 2 + 3*s, 4 + 1*s} /. s -> slist // Diagonal

However, that does `3^2 - 3` too many calculations, so here's some more ways.

    Module[{i = 1}, l /. s :> slist[[i++]]]
    MapThread[#1 /. s -> #2 &, {l, slist}]
    MapThread[ReplaceAll, {l, Thread[s -> slist]}]
    ReplaceAll @@@ Transpose[{l, Thread[s -> slist]}]
    Map[First@#1 /. s -> Last@#1 &, Transpose@{l, slist}]
    MapIndexed[#1 /. s -> slist[[First@#2]] &, l]

If `s` is always going to be the list `{1, 2, 3, ...}`, then:

    MapIndexed[#1 /. s -> First@#2 &, l]