Sim você pode
some_array[offset..-1].each_with_index{|item, index| some_func(item, index) }
some_array[offset..-1].each_with_index{|item, index| some_func(item, index+offset) }
some_array[offset..-1].each_with_index{|item, index| index+=offset; some_func(item, index) }
UPD
Também devo notar que se o deslocamento for maior do que o tamanho do seu Array, ocorrerá um erro. Porque:
some_array[1000,-1] => nil
nil.each_with_index => Error 'undefined method `each_with_index' for nil:NilClass'
O que podemos fazer aqui:
(some_array[offset..-1]||[]).each_with_index{|item, index| some_func(item, index) }
Ou para pré-validar o deslocamento:
offset = 1000
some_array[offset..-1].each_with_index{|item, index| some_func(item, index) } if offset <= some_array.size
Isso é um pouco hacky
UPD 2
Até onde você atualizou sua pergunta e agora você não precisa do deslocamento de matriz, mas de deslocamento de índice, então a solução @sawa funcionará bem para você