If numberposts = -1 offset won’t work

This problem has pretty simple explanation 😉 All you need to do is to take a look at Codex page for WP_Query and read about offset parameter:

offset (int) – number of post to displace or pass over. Warning:
Setting the offset parameter overrides/ignores the paged parameter and
breaks pagination (Click here for a workaround). The ‘offset’
parameter is ignored when ‘posts_per_page’=>-1 (show all posts) is
used.

So I’m afraid there is no easy workaround for that. Setting posts_per_page tells WP that you want to see all posts. So adding offset to that equation doesn’t make much sense.

On the other hand, if you already have all posts queried, then you can easily do the offset part by yourself – just ignore N first posts (not ideal, but it will work).

And – based on numberposts you use these get_posts function? If so, then it’s even easier to ignore first N posts – just start your loop from N-th.