You could split your query into multiple variables:
DECLARE @part1 nvarchar(4000), @part2 nvarchar(4000)
SET @part1 = 'SELECT * '
SET @part2 = 'FROM authors'
EXECUTE(@part1 + @part2)
EXECUTE() should accept a query up to the max. size of a batch which is 65K * Network Packet Size (default = 4K)
-Mike