Substring Chainification

05AB1E, 1 byte

£

This is the substring(0,N) command.
Applied on a list this works repeatedly on the remainder on the string.

Try it online!


Python 2, 42 bytes

s,a=input()
for n in a:print s[:n];s=s[n:]

Sometimes you just do it the boring way.


Brachylog, 20 13 bytes

h@[~c.:la~t?,

Try it online!

This is extremely inefficient and times out on TIO for the last test case.

Explanation

Input = [String, List of integers]

h@[            Take a prefix of the string
   ~c.         Take a possible list of strings which when concatenated results in that prefix
      :la      Take the lengths of each element of that list
         ~t?,  This list of lengths is equal to the list of integers of the Input

A slightly more efficient version, 15 bytes

t:{~l}a.,?h@[~c