Why would path be overwritten? You have one outer table being passed to request_pipeline. This table contains three values at keys 1, 2 and 3; each of which is a unique table with a string at key "path". These inner tables have no effect on each other.
-- Assumes that file_with_paths.txt contains one path on each line
local request = {} -- The request table to pass to httpc:request_pipeline
local currentKey = 0 -- The most recent key an inner params table was stored at
for line in io.lines("file_with_paths.txt") do
currentKey = currentKey + 1 -- Increment currentKey
request[currentKey] = { path = line } -- Store a params table at currentKey
end
httpc:request_pipeline(request) -- Make the request
Regards,
Choonster